local Class = require('lua.lang.Class')

--- @class Edge : Class
--- @field source BasicBlock
--- @field target BasicBlock
--- @field type EdgeType
local Edge = Class {}

--- @param source BasicBlock
--- @param target BasicBlock
--- @param type EdgeType
--- @return Edge
function Edge:new(source, target, type)
	--- @type Edge
	local o = {}
	o.source = source
	o.target = target
	o.type = type
	return setmetatable(o, Edge)
end

return Edge